package com.crane.oss.app.bean.req;

import com.crane.oss.app.bean.RuleJsonDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @Description: 发布任务DTO
 * @Author: zx.pi
 * @Date: 2023/2/23
 */
@ApiModel(description = "发布任务")
@Getter
@Setter
@ToString
public class AppAddTaskReq {
    @ApiModelProperty(value = "任务标题")
    @NotNull(message = "任务标题")
    private String title;
    @ApiModelProperty(value = "任务描述")
    @NotNull(message = "任务描述")
    private String describes;
    @ApiModelProperty(value = "班级ID")
    @NotNull(message = "班级ID")
    private Long classId;

    @ApiModelProperty(value = "任务子类型 11:1分钟倒计时 12:200个倒计到 13:自由跳", name = "subType")
    @NotNull(message = "任务类型")
    private Integer subType;

    @ApiModelProperty(value = "开始时间")
    @NotNull(message = "开始时间")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @NotNull(message = "结束时间")
    private Date endTime;

    @ApiModelProperty(value = "规则 type 1只发布一次  2周内循环  3自定义循环")
    @NotNull(message = "规则")
    private RuleJsonDTO ruleJson;

    @ApiModelProperty(value = "是否能补卡 0 否  1是")
    @NotNull(message = "补卡")
    private Integer afterClock;

    @ApiModelProperty(value = "任务图片")
    private List<String> images;

    @ApiModelProperty(hidden = true)
    private Long opUserId;


}
